<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Java文档搜索</title>
</head>
<body>
    <!-- 1.搜索框+搜索按钮 -->
    <!-- 2.显示搜索结果 -->
    <!-- 记下来通过访问服务器来获取搜索的结果，并由JS冬天生成页面要素 -->
    <!--通过.container来表示整个页面元素的容器  -->
    <div class="container">
   <!-- 1.搜索框+搜索按钮 -->
        <div class="header">
            <!-- 搜索框 -->
            <input type="text">
            <button id = "search-btn"> 搜索</button>
        </div>
        <!-- 2.显示了搜索结果 -->
        <div class="result">
            <!-- 包含了很多条记录 -->
            <!-- 每个.item就表示一条记录 -->
            <div class="item">
                <a href="#我是标题"></a>
                <div class="desc">我是一段描述.</div>
                <div class="url">www.baidu.com</div>
            </div>
        </div>
    </div>
     <style>
        /* 这部分代码来写样式 */
        /* 先去掉浏览器的默认样式 */
        *{
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        }
        /* 整体的页面指定一个高度(和浏览器窗口一样) */
        html body {
            height: 100%;
            /* 设置背景图 */
            background-image: url();
            /* 设置背景图不平铺 */
            background-repeat: no-repeat;
            /* 设置背景图的位置 */
            background-position: center center;
            /* 设置背景图的大小 */
            background-size: cover;
            
        }

        /* 针对container也设置一些样式，实现版心效果 */
        .container{
               /* 宽度可以设置成百分号，也可以直接固定 */
            width: 1000px;
            height: 100%;
            /* 设置水平居中 */
            margin: 0 auto;
            /* 设置背景色 */
            background-color: rgba(223,233,222);
            /* 设置圆角矩形 */
            border-radius: 10px;
            /* 设置内边距，避免文字内容紧贴着边界 */
            padding: 10px;

            /*加上一个这个属性，超出元素的部分就会自动生成一个滚动条*/
            overflow: auto;
        }
        .header {
            /* 宽度和高度 */
            width: 100%; 
            height: 50px;
            display: flex;
            justify-content: space-between;
            align-items: center;

            .header>input {
                width: 800px;
                height: 50px;
                font-size: 22px;
                line-height: 50px;
                padding-left: 10px;
            }
            .header>button {
                width: 100px;
                height: 50px;
                background-color: blue;
                color:#fff;
                font-size: 22px;
                line-height: 50px;
                border-radius: 10px;
                border: none;
            }
            .header>button:active {
                background-color: gray;
            }

            .result.count {
            color: black;
            margin-top: 10px;
            }
        }
        .item {
        width: 100%;
        margin-top: 20px;
    
     }
        .item a {
            display: block;
            width: 40px;
        
            font-size: 22px;
            line-height: 40px;

            font-weight: 700px;
            color: aqua;
        }
            .item.desc {
            font-size: 20px;
        }
    
    .item.url {
        font-size: 18px;
        color: antiquewhite; 
    }
        .item.desc i {
        color:red;
        /* 去斜体 */
        font-style:normal;
        }


     </style>

     <script src ="js/jquery.js"></script>
     <script>

        //放置用户自己写的JS代码
        let button = document.querySelector("#search = btn");
        button.ononclick = function() {
            //先获取到输入框的内容
            let button = document.querySelector(".header.input");
            let query = input.vaule;
            console.log("query " + query);
            //然后构造一个ajax的请求发给服务器
            $.ajax({
                type : "GET",
                url:"searcher?query= " + query,
                success:function(date,status) {
                //success这个函数会在请求成功后调用
                //date表示拿到的结果数据
                //status表示HTTP的状态码
                //根据收到的数据结果构造出页面内容
                //console.log(data);
                buildResult(data);
                }
            })
        }

        function buildResult(data) {
            //通过这个函数来把我们的响应数据来构造成页面
            //当前要做的工作就是遍历data中的每个元素，
            //针对每个元素都创建一个div.item 然后把url，标题，描述都构造好
            //再把div.item给加到div.result中
            //这些操作都是基于DOM API来展开


            //先构造一个div用来显示结果的个数
            let countDiv = document.createElement('div');
            countDiv.innerHTML = '当前找到' + data.length + '个结果';
            countDiv.className = 'count';
            result.appendChild(countDiv);

            //获取到.result这个标签
            let result = document.createElement('.result');
            result.innerHTML = '';
            //相当与java中的foreach
            //此处得到的item就会分别代表data中每一个元素
            for(let item of data) {
                let itemDiv = document.createElement('div');
                itemDiv.className = 'item';

                //构造一个标题
                let title = document.createElement('a');
                title.href = item.url;
                title.innerHTML = item.title;
                title.target = '_blank';
                itemDiv.appendChild(title);

                //构造一个描述
                let desc = document.createElement('desc');
                desc.className = 'desc';
                desc.innerHTML = item.desc;
                desc.appendChild(desc);

                //构造一个URL
                let url = document.createElement('div');
                url.className = 'url';
                url.innerHTML = item.url;
                url.appendChild(url);

                //把itemDiv 加到result中
                result.appendChild(itemDiv);
            }

    }
     </script>
  <body>
</html>